<template>
    <div style="display:flex;flex-direction: column;justify-content: center;
    align-items:center">
        <van-uploader style="margin-top:20px" v-model="fileList" :max-count="1" />
        <van-button v-if="!hasresult" :disabled="fileList.length == 0" size="small" style="margin-top:10px" @click="sb"
            type="primary">智能识别</van-button>
        <van-button size="small" v-if="hasresult" style="margin-top:10px" @click="resf" type="success">查看结果</van-button>

        <van-button size="small" v-if="hasresult" style="margin-top:10px" @click="clear"
            type="warning">再来一次</van-button> <van-button size="small" v-if="hasresult" style="margin-top:10px"
            @click="his" type="primary">查看识别历史记录</van-button>

    </div>
    <van-popup title="检测结果" @close="isShow = false" :show="isShow" round closeable position="bottom">
        <div style="margin-top: 80px;font-size: 16px;overflow-y:scroll; ">
            <div v-html="str"></div>
            <div style="height: 20px;"></div>
        </div>
    </van-popup>
</template>

<script setup lang="ts">
import { ref } from "vue"
import { upload, addHistory } from "@/api/index"
import storage from "@/utils/storage";
import { showLoadingToast } from "vant";
import dayjs from "dayjs";
import router from "@/router";
const isShow = ref(false)
const his = () => {
    router.push('/his')
}
let str = ref(``)


const fileList = ref([]);
const resf = () => {
    isShow.value = true
}
const hasresult = ref(false)

const clear = () => {
    fileList.value = []
    hasresult.value = false
}

const sb = async () => {
    const { file } = fileList.value[0]

    let formData = new FormData()
    formData.append('file', file)
    let res = await upload(formData)
    if (res) {
        let res2 = await addHistory({
            uid: storage.get('userInfo')._id,
            cturl: res.url
        })
        if (res2.code == 200) {
            showLoadingToast("识别成功,正在生成检测报告")
            setTimeout(() => {
                hasresult.value = true
            }, 2000);
            let result = JSON.parse(res2.data.result)

            console.log(result, 'result');
            if (result.data.res == 0) {
                str.value = `<div style=' 
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;'>
    <div style='margin-bottom:10px'>**患者信息**</div>
    <div>姓名：${res2.data.userinfo.nickName}</div>
    <div>年龄：${res2.data.userinfo.age}岁</div>
    <div>性别：${res2.data.userinfo.sex == 0 ? '女' : '男'}</div>
    <div>就诊日期：${dayjs(+res2.data.userinfo.createTime).format('YYYY-MM-DD HH:mm:ss')}</div>
    <div style='margin:10px 0px'>**临床表现**</div>
    <div>患者主要症状包括（但不限于）：没有呼吸困难、咳嗽、咳痰、胸痛等症状</div>
    <div style='margin:10px 0px'>**影像学检查**</div>
    <div>X射线/CT扫描/磁共振成像等：X射线或CT扫描中通常显示为清晰的肺组织结构，没有明显的异常阴影</div>
    <div style='margin:10px 0px'>**诊断和鉴别诊断**</div>
    <div>基于临床表现、影像学检查和病理学分析，诊断结果为 <span style='color:#07c160;font-weight:600'>正常肺部</span> </div>
    </div>`
            } else if (result.data.res == 1) {
                str.value = `<div style=' 
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;'>
    <div style='margin-bottom:10px'>**患者信息**</div>
    <div>姓名：${res2.data.userinfo.nickName}</div>
    <div>年龄：${res2.data.userinfo.age}岁</div>
    <div>性别：${res2.data.userinfo.sex == 0 ? '女' : '男'}</div>
    <div>就诊日期：${dayjs(+res2.data.userinfo.createTime).format('YYYY-MM-DD HH:mm:ss')}</div>
    <div style='margin:10px 0px'>**临床表现**</div>
    <div>患者主要症状包括（但不限于）：包括轻微的呼吸困难、偶尔的咳嗽、胸痛、呼吸困难、咳痰、体重减轻等</div>
    <div style='margin:10px 0px'>**影像学检查**</div>
    <div>X射线/CT扫描/磁共振成像等：在X射线、CT或MRI等成像检查中显示为圆形或椭圆形的肿块，边界清晰</div>
    <div style='margin:10px 0px'>**诊断和鉴别诊断**</div>
    <div>基于临床表现、影像学检查和病理学分析，，诊断结果为 <span style='color:#ff976a;font-weight:600'>轻微肺炎</span> </div>
    <div style='margin:10px 0px'>**治疗方案和预后**</div>
    <div>对于小且无症状的肺部病变，建议定期检查，以监测其是否有变化。有些肺部病变可能会缓慢增长或完全停止增长。如果肺部病变较大、出现症状、增长迅速或可能影响周围器官功能，则可能需要手术切除。手术切除通常是治愈良性肺瘤的主要方式。如果肺部病变较大、出现症状、增长迅速或可能影响周围器官功能，则可能需要手术切除。手术切除通常是治愈良性肺瘤的主要方式。对于一些特定类型的肺部病变，如肺部错构瘤，可能会考虑药物治疗。这可能包括激素疗法或其他药物治疗。大多数良性肺瘤的预后良好，特别是在早期发现并进行适当治疗的情况下。手术切除后，大多数患者能够完全康复。然而，对于某些类型的肺部病变，特别是那些位于特殊位置或已经导致严重症状的肺部病变，预后可能会有所不同。
    <div></div>
    </div>`
            } else {
                str.value = `<div style=' 
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;'>
    <div style='margin-bottom:10px'>**患者信息**</div>
    <div>姓名：${res2.data.userinfo.nickName}</div>
    <div>年龄：${res2.data.userinfo.age}岁</div>
    <div>性别：${res2.data.userinfo.sex == 0 ? '女' : '男'}</div>
    <div>就诊日期：${dayjs(+res2.data.userinfo.createTime).format('YYYY-MM-DD HH:mm:ss')}</div>
    <div style='margin:10px 0px'>**临床表现**</div>
    <div>患者主要症状包括（但不限于）：加重的呼吸困难、咳嗽、咳血、胸痛、体重下降、乏力等，随着肺部病变的生长和转移，症状可能逐渐加重</div>
    <div style='margin:10px 0px'>**影像学检查**</div>
    <div>X射线/CT扫描/磁共振成像等：在X射线、CT或MRI等成像检查中显示为不规则的、模糊的肿块，边界不清晰，常常伴有肺内病变、淋巴结肿大等表现</div>
    <div style='margin:10px 0px'>**诊断和鉴别诊断**</div>
    <div>基于临床表现、影像学检查和病理学分析，，诊断结果为 <span style='color:#f85149;font-weight:600'>严重肺炎</span> </div>
    <div style='margin:10px 0px'>**治疗方案和预后**</div>
    <div>治疗方案通常包括手术切除、化疗、放疗或其组合，具体方案需根据肺部病变类型、分期和患者整体情况综合考虑。早期诊断和治疗可以显著改善预后，但晚期肺部病变的治愈率较低，预后较差。治疗的成功与否还取决于肺部病变的生物学特征和患者的免疫系统状况。及早采取治疗、积极调整生活方式和营养，以及定期随访是提高预后的关键措施。
    <div></div>
    </div>`
            }

        }
    }


}

</script>

<style scoped>
.s {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;

}
</style>